package com.as.db.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Example;

import com.as.db.exception.CreateException;
import com.as.db.exception.DeleteException;
import com.as.db.exception.FinderException;
import com.as.db.exception.UpdateException;

public interface IGenericDAO<T> {

	public T load(Long id);

	public void update(T entity);
	
	public void save(T entity);

	public void delete(T entity);

	public List<T> getList();
	
	public List<T> getList(String queryName);
	
	public List<T> getList(String queryName, Object param);
	
	public void deleteById(Long id);

	public int deleteAll();

	public int count();

	public List<T> findByExample(T entity);
}
